Organizations have responsibility for supporting diverse computers and work stations. A medium sized organization may have thousands of diverse models and types of computers that need to be managed and maintained to appropriate levels or versions of applications, operating systems and support hardware (drivers). The organization needs to be concerned with availability, serviceability, new installations, maintenance and security.
When adding a computer or workstation, organizations often supply a standard computer system “image” of software (including an Operating System) to the new computer. The image must be customized according to machine type, model and peripheral attachments. The image may also be customized to provide a set of applications and hardware drivers. This allows the organization to maintain a reduced set of images for all of the computers that need to be supported. Even with this technique, the number of images can be large and each image may be large as easily can be seen by the fact that an image must include all of the driver programs that a computer or workstation may need. Managing a large number of versions is a logistics problem but having large numbers of large images creates a need for large storage. Distributing the large images by way of a network is time consuming especially when the network includes a slow protocol or when there is high demand for the network.
Native installation of operating systems and applications can be time consuming and error prone. Realizing this, companies such as PowerQuest and Symantec have developed disk imaging software that takes a “snap shot” of a computer system image and saves it to a file(s). The “snap shots” can be saved on a server and distributed to new clients by way of a network. The saved “snap shot” is a “clone” or “replica” image of the computer system image. The “snap shot” can then be used by other computers by loading the “snap shot” into another identical computer (cloning).
Cloning of a computer image is the process of configuring a master computer system with a specific operating system and set of application programs supporting a specific set of peripheral devices and copying (cloning) the “program image” of this configuration to other (cloned) computer systems. The copied image is a clone of the master computer system image.
Thus, all of the systems cloned have common software (with the same levels and versions of the same software). Cloning simplifies an organization's IT (Information Technology) infrastructure since all of the computers or workstations have the same software. A problem exists with this strategy since a separate clone image must be created to support different computer types and models, hardware configuration differences, device drivers and the like.
Because of its ease of use and fast speed, cloning has solidified its place in the industry by allowing companies to simplify client deployment and reduce costs by putting a client standardization effort in place.
Referring to FIG. 3, an example cloning process is shown. A client1 301 computer system is configured to represent a desired clone system. It comprises a characteristic machine type/model (TX1) 305, a desired operating system (OS) 302, optional applications 303, desired drivers 306 and desired configuration information 304. The image of client1 301 is then captured and stored as image1 318 in a server 316 storage area. The server 316 holds N images. A client2 307 is to be built. Since the machine type is TB2, desired image2 is deemed appropriate, so it is loaded into the client2 307 via a network connection 321 or CD. Thus, client2 307 becomes a clone of client1 301. The server 316 may support cloning of other computers 312, each one having to select the appropriate image stored in the server 316.
Current cloning software does not address the issue of adding new hardware, driver, and application support to an existing image file. Since replicating system images (cloning) requires that the target system 307 and the source system 301 be exactly the same, large enterprises can sometimes have hundreds or even thousands of cloned images 317-319 on their servers 316 in order to have a cloned image for each supported system configuration. Some operating systems, like WINDOWS® 2000/XP from Microsoft® CORP., have imaging tools that allow a technician to reset the devices that had been previously detected by the operating system. by resetting the devices, the operating system can re-scan for hardware on the next boot of the operating system. Using this method, in a cloned system, requires managing the plug and play driver repository on the cloned system. In order to create a new clone image 318, the technician would clone a known image file 317 containing an operating system with installed and customized applications to a system, boot the operating system, manipulate the driver repository 306 that resides on the client 301 to include new or updated drivers, run the imaging tool, then clone the system image back to the server 316. When the technician saves the “cloned client system” to the server, the technician is saving a snapshot of the operating system 302, applications 303, and hardware support components 304. The snapshot is a version of the computers' operating system that can be cloned (replicated) to other systems that are supported by the updated driver repository 306 or native driver support built into the operating system.
This method isn't without its problems. Plug and play systems force the image to use the latest available driver in the repository where the organization would prefer to have a predetermined version of the driver. Also, updating and adding drivers to the master image file can be tedious, time consuming, and error prone.
MICROSOFT WINDOWS 2000/XP System Preparation Tool (Imaging Tool):
The WINDOWS 2000 System Preparation Tool (Sysprep) enables administrators to prepare WINDOWS 2000 System Images part of an automated deployment. Sysprep provides the ability to reduce the number of images required in a deployment by supporting multiple mass storage controllers. Sysprep supports cloning of a computer system's Operating System. Software and settings to create an image that can be deployed to numerous target servers or workstations. If the target system has different capability, plug and play drivers are loaded when the target system is powered up.
Sysprep is designed to create an image file that can be cloned to computers having similar characteristics (type/models). An enterprise may take one image file and add support to thousands of type/models by updating the driver repository on the target system (under c:\pnp). A problem with this scenario is with the difficulty of maintenance of that driver repository.